<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html>
        <head>
          <title>akka.actor.FSM</title>
          <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
          
      <link type="text/css" media="screen" rel="stylesheet" href="../../lib/template.css" />
      <script type="text/javascript" src="../../lib/jquery.js"></script>
      <script type="text/javascript" src="../../lib/jquery-ui.js"></script>
      <script type="text/javascript" src="../../lib/template.js"></script>
      <script type="text/javascript" src="../../lib/tools.tooltip.js"></script>
    
        </head>
        <body class="value">
      <div id="definition">
        <a title="Go to companion" href="FSM.html"><img src="../../lib/object_to_trait_big.png" /></a>
        <p id="owner"><a name="akka" class="extype" href="../package.html">akka</a>.<a name="akka.actor" class="extype" href="package.html">actor</a></p>
        <h1><a title="Go to companion" href="FSM.html">FSM</a></h1>
      </div>

      <h4 class="signature" id="signature">
      <span class="kind">object</span>
      <span class="symbol">
        <span class="name">FSM</span>
        
        <span class="result"> extends AnyRef</span>
      </span>
      </h4>
      
          <div class="fullcommenttop" id="comment"><div class="toggleContainer block">
          <span class="toggle">Linear Supertypes</span>
          <div class="superTypes hiddenContent">AnyRef, <span name="scala.Any" class="extype">Any</span></div>
        </div></div>
        

      <div id="template">

        <div id="mbrsel">
          <div id="textfilter"><span class="pre"></span><span class="input"><input accesskey="/" type="text" /></span><span class="post"></span></div>
          <div id="order">
                <span class="filtertype">Ordering</span>
                <ol><li class="alpha in"><span>Alphabetic</span></li><li class="inherit out"><span>By inheritance</span></li></ol>
              </div>
          <div id="ancestors">
                <span class="filtertype">Inherited</span>
                <ol><li class="hideall out"><span>Hide All</span></li>
                <li class="showall in"><span>Show all</span></li></ol>
                <ol id="linearization"><li name="akka.actor.FSM" class="in"><span>FSM</span></li><li name="scala.AnyRef" class="in"><span>AnyRef</span></li><li name="scala.Any" class="in"><span>Any</span></li></ol>
              </div>
          <div id="visbl">
              <span class="filtertype">Visibility</span>
              <ol><li class="public in"><span>Public</span></li><li class="all out"><span>All</span></li></ol>
            </div>
        </div>

        

        <div class="types members" id="types">
              <h3>Type Members</h3>
              <ol><li visbl="pub" name="akka.actor.FSM.CurrentState" data-isabs="false">
      <a id="CurrentState:CurrentState[S]"></a>
      <h4 class="signature">
      <span class="kind">case class</span>
      <span class="symbol">
        <a href="FSM$$CurrentState.html"><span class="name">CurrentState</span></a>
        <span class="tparams">[<span name="S">S</span>]</span>
        <span class="params">(<span name="fsmRef">fsmRef: ActorRef</span>, <span name="state">state: S</span>)</span><span class="result"> extends Product with Serializable</span>
      </span>
      </h4>
      
    </li><li visbl="pub" name="akka.actor.FSM.Failure" data-isabs="false">
      <a id="Failure:Failure"></a>
      <h4 class="signature">
      <span class="kind">case class</span>
      <span class="symbol">
        <a href="FSM$$Failure.html"><span class="name">Failure</span></a>
        
        <span class="params">(<span name="cause">cause: Any</span>)</span><span class="result"> extends Reason with Product with Serializable</span>
      </span>
      </h4>
      
    </li><li visbl="pub" name="akka.actor.FSM.LogEntry" data-isabs="false">
      <a id="LogEntry:LogEntry[S, D]"></a>
      <h4 class="signature">
      <span class="kind">case class</span>
      <span class="symbol">
        <a href="FSM$$LogEntry.html"><span class="name">LogEntry</span></a>
        <span class="tparams">[<span name="S">S</span>, <span name="D">D</span>]</span>
        <span class="params">(<span name="stateName">stateName: S</span>, <span name="stateData">stateData: D</span>, <span name="event">event: Any</span>)</span><span class="result"> extends Product with Serializable</span>
      </span>
      </h4>
      
    </li><li visbl="pub" name="akka.actor.FSM.Reason" data-isabs="true">
      <a id="Reason:Reason"></a>
      <h4 class="signature">
      <span class="kind">trait</span>
      <span class="symbol">
        <a href="FSM$$Reason.html"><span class="name">Reason</span></a>
        
        <span class="result"> extends AnyRef</span>
      </span>
      </h4>
      <div class="fullcomment"><dl class="attributes block"> <dt>Attributes</dt><dd>sealed </dd></dl></div>
    </li><li visbl="pub" name="akka.actor.FSM.State" data-isabs="false">
      <a id="State:State[S, D]"></a>
      <h4 class="signature">
      <span class="kind">case class</span>
      <span class="symbol">
        <a href="FSM$$State.html"><span class="name">State</span></a>
        <span class="tparams">[<span name="S">S</span>, <span name="D">D</span>]</span>
        <span class="params">(<span name="stateName">stateName: S</span>, <span name="stateData">stateData: D</span>, <span name="timeout">timeout: Option[Duration]</span>, <span name="stopReason">stopReason: Option[Reason]</span>, <span name="replies">replies: List[Any]</span>)</span><span class="result"> extends Product with Serializable</span>
      </span>
      </h4>
      
    </li><li visbl="pub" name="akka.actor.FSM.SubscribeTransitionCallBack" data-isabs="false">
      <a id="SubscribeTransitionCallBack:SubscribeTransitionCallBack"></a>
      <h4 class="signature">
      <span class="kind">case class</span>
      <span class="symbol">
        <a href="FSM$$SubscribeTransitionCallBack.html"><span class="name">SubscribeTransitionCallBack</span></a>
        
        <span class="params">(<span name="actorRef">actorRef: ActorRef</span>)</span><span class="result"> extends Product with Serializable</span>
      </span>
      </h4>
      
    </li><li visbl="pub" name="akka.actor.FSM.TimeoutMarker" data-isabs="false">
      <a id="TimeoutMarker:TimeoutMarker"></a>
      <h4 class="signature">
      <span class="kind">case class</span>
      <span class="symbol">
        <a href="FSM$$TimeoutMarker.html"><span class="name">TimeoutMarker</span></a>
        
        <span class="params">(<span name="generation">generation: Long</span>)</span><span class="result"> extends Product with Serializable</span>
      </span>
      </h4>
      
    </li><li visbl="pub" name="akka.actor.FSM.Timer" data-isabs="false">
      <a id="Timer:Timer"></a>
      <h4 class="signature">
      <span class="kind">case class</span>
      <span class="symbol">
        <a href="FSM$$Timer.html"><span class="name">Timer</span></a>
        
        <span class="params">(<span name="name">name: String</span>, <span name="msg">msg: Any</span>, <span name="repeat">repeat: Boolean</span>, <span name="generation">generation: Int</span>, <span name="system">system: ActorSystem</span>)</span><span class="result"> extends Product with Serializable</span>
      </span>
      </h4>
      
    </li><li visbl="pub" name="akka.actor.FSM.Transition" data-isabs="false">
      <a id="Transition:Transition[S]"></a>
      <h4 class="signature">
      <span class="kind">case class</span>
      <span class="symbol">
        <a href="FSM$$Transition.html"><span class="name">Transition</span></a>
        <span class="tparams">[<span name="S">S</span>]</span>
        <span class="params">(<span name="fsmRef">fsmRef: ActorRef</span>, <span name="from">from: S</span>, <span name="to">to: S</span>)</span><span class="result"> extends Product with Serializable</span>
      </span>
      </h4>
      
    </li><li visbl="pub" name="akka.actor.FSM.UnsubscribeTransitionCallBack" data-isabs="false">
      <a id="UnsubscribeTransitionCallBack:UnsubscribeTransitionCallBack"></a>
      <h4 class="signature">
      <span class="kind">case class</span>
      <span class="symbol">
        <a href="FSM$$UnsubscribeTransitionCallBack.html"><span class="name">UnsubscribeTransitionCallBack</span></a>
        
        <span class="params">(<span name="actorRef">actorRef: ActorRef</span>)</span><span class="result"> extends Product with Serializable</span>
      </span>
      </h4>
      
    </li></ol>
            </div>

        

        <div class="values members" id="values">
              <h3>Value Members</h3>
              <ol><li visbl="pub" name="scala.AnyRef#!=" data-isabs="false">
      <a id="!=(AnyRef):Boolean"></a>
      <h4 class="signature">
      <span class="kind">def</span>
      <span class="symbol">
        <span class="name">!=</span>
        
        <span class="params">(<span name="arg0">arg0: AnyRef</span>)</span><span class="result">: <span name="scala.Boolean" class="extype">Boolean</span></span>
      </span>
      </h4>
      <div class="fullcomment"><dl class="attributes block"> <dt>Attributes</dt><dd>final </dd><dt>Definition Classes</dt><dd>AnyRef</dd></dl></div>
    </li><li visbl="pub" name="scala.Any#!=" data-isabs="false">
      <a id="!=(Any):Boolean"></a>
      <h4 class="signature">
      <span class="kind">def</span>
      <span class="symbol">
        <span class="name">!=</span>
        
        <span class="params">(<span name="arg0">arg0: <span name="scala.Any" class="extype">Any</span></span>)</span><span class="result">: <span name="scala.Boolean" class="extype">Boolean</span></span>
      </span>
      </h4>
      <div class="fullcomment"><dl class="attributes block"> <dt>Attributes</dt><dd>final </dd><dt>Definition Classes</dt><dd>Any</dd></dl></div>
    </li><li visbl="pub" name="scala.AnyRef###" data-isabs="false">
      <a id="##():Int"></a>
      <h4 class="signature">
      <span class="kind">def</span>
      <span class="symbol">
        <span class="name">##</span>
        
        <span class="params">()</span><span class="result">: <span name="scala.Int" class="extype">Int</span></span>
      </span>
      </h4>
      <div class="fullcomment"><dl class="attributes block"> <dt>Attributes</dt><dd>final </dd><dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div>
    </li><li visbl="pub" name="akka.actor.FSM.-&gt;" data-isabs="false">
      <a id="-&gt;:-&gt;"></a>
      <h4 class="signature">
      <span class="kind">object</span>
      <span class="symbol">
        <a href="FSM$$$minus$greater$.html"><span class="name">-&gt;</span></a>
        
        <span class="result"> extends AnyRef</span>
      </span>
      </h4>
      <p class="comment cmt">This extractor is just convenience for matching a (S, S) pair, including a
reminder what the new state is.</p>
    </li><li visbl="pub" name="scala.AnyRef#==" data-isabs="false">
      <a id="==(AnyRef):Boolean"></a>
      <h4 class="signature">
      <span class="kind">def</span>
      <span class="symbol">
        <span class="name">==</span>
        
        <span class="params">(<span name="arg0">arg0: AnyRef</span>)</span><span class="result">: <span name="scala.Boolean" class="extype">Boolean</span></span>
      </span>
      </h4>
      <div class="fullcomment"><dl class="attributes block"> <dt>Attributes</dt><dd>final </dd><dt>Definition Classes</dt><dd>AnyRef</dd></dl></div>
    </li><li visbl="pub" name="scala.Any#==" data-isabs="false">
      <a id="==(Any):Boolean"></a>
      <h4 class="signature">
      <span class="kind">def</span>
      <span class="symbol">
        <span class="name">==</span>
        
        <span class="params">(<span name="arg0">arg0: <span name="scala.Any" class="extype">Any</span></span>)</span><span class="result">: <span name="scala.Boolean" class="extype">Boolean</span></span>
      </span>
      </h4>
      <div class="fullcomment"><dl class="attributes block"> <dt>Attributes</dt><dd>final </dd><dt>Definition Classes</dt><dd>Any</dd></dl></div>
    </li><li visbl="pub" name="akka.actor.FSM.Normal" data-isabs="false">
      <a id="Normal:Normal"></a>
      <h4 class="signature">
      <span class="kind">object</span>
      <span class="symbol">
        <a href="FSM$$Normal$.html"><span class="name">Normal</span></a>
        
        <span class="result"> extends Reason with Product with Serializable</span>
      </span>
      </h4>
      
    </li><li visbl="pub" name="akka.actor.FSM.NullFunction" data-isabs="false">
      <a id="NullFunction:NullFunction"></a>
      <h4 class="signature">
      <span class="kind">object</span>
      <span class="symbol">
        <a href="FSM$$NullFunction$.html"><span class="name">NullFunction</span></a>
        
        <span class="result"> extends PartialFunction[Any, Nothing]</span>
      </span>
      </h4>
      
    </li><li visbl="pub" name="akka.actor.FSM.Shutdown" data-isabs="false">
      <a id="Shutdown:Shutdown"></a>
      <h4 class="signature">
      <span class="kind">object</span>
      <span class="symbol">
        <a href="FSM$$Shutdown$.html"><span class="name">Shutdown</span></a>
        
        <span class="result"> extends Reason with Product with Serializable</span>
      </span>
      </h4>
      
    </li><li visbl="pub" name="akka.actor.FSM.StateTimeout" data-isabs="false">
      <a id="StateTimeout:StateTimeout"></a>
      <h4 class="signature">
      <span class="kind">object</span>
      <span class="symbol">
        <a href="FSM$$StateTimeout$.html"><span class="name">StateTimeout</span></a>
        
        <span class="result"> extends Product with Serializable</span>
      </span>
      </h4>
      
    </li><li visbl="pub" name="scala.Any#asInstanceOf" data-isabs="false">
      <a id="asInstanceOf[T0]:T0"></a>
      <h4 class="signature">
      <span class="kind">def</span>
      <span class="symbol">
        <span class="name">asInstanceOf</span>
        <span class="tparams">[<span name="T0">T0</span>]</span>
        <span class="result">: T0</span>
      </span>
      </h4>
      <div class="fullcomment"><dl class="attributes block"> <dt>Attributes</dt><dd>final </dd><dt>Definition Classes</dt><dd>Any</dd></dl></div>
    </li><li visbl="prt" name="scala.AnyRef#clone" data-isabs="false">
      <a id="clone():AnyRef"></a>
      <h4 class="signature">
      <span class="kind">def</span>
      <span class="symbol">
        <span class="name">clone</span>
        
        <span class="params">()</span><span class="result">: AnyRef</span>
      </span>
      </h4>
      <div class="fullcomment"><dl class="attributes block"> <dt>Attributes</dt><dd>protected[<a name="java.lang" class="extype" href="../../java/lang/package.html">lang</a>] </dd><dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd>
                <span class="name">@throws</span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li visbl="pub" name="scala.AnyRef#eq" data-isabs="false">
      <a id="eq(AnyRef):Boolean"></a>
      <h4 class="signature">
      <span class="kind">def</span>
      <span class="symbol">
        <span class="name">eq</span>
        
        <span class="params">(<span name="arg0">arg0: AnyRef</span>)</span><span class="result">: <span name="scala.Boolean" class="extype">Boolean</span></span>
      </span>
      </h4>
      <div class="fullcomment"><dl class="attributes block"> <dt>Attributes</dt><dd>final </dd><dt>Definition Classes</dt><dd>AnyRef</dd></dl></div>
    </li><li visbl="pub" name="scala.AnyRef#equals" data-isabs="false">
      <a id="equals(Any):Boolean"></a>
      <h4 class="signature">
      <span class="kind">def</span>
      <span class="symbol">
        <span class="name">equals</span>
        
        <span class="params">(<span name="arg0">arg0: <span name="scala.Any" class="extype">Any</span></span>)</span><span class="result">: <span name="scala.Boolean" class="extype">Boolean</span></span>
      </span>
      </h4>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div>
    </li><li visbl="prt" name="scala.AnyRef#finalize" data-isabs="false">
      <a id="finalize():Unit"></a>
      <h4 class="signature">
      <span class="kind">def</span>
      <span class="symbol">
        <span class="name">finalize</span>
        
        <span class="params">()</span><span class="result">: <span name="scala.Unit" class="extype">Unit</span></span>
      </span>
      </h4>
      <div class="fullcomment"><dl class="attributes block"> <dt>Attributes</dt><dd>protected[<a name="java.lang" class="extype" href="../../java/lang/package.html">lang</a>] </dd><dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd>
                <span class="name">@throws</span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li visbl="pub" name="scala.AnyRef#getClass" data-isabs="false">
      <a id="getClass():java.lang.Class[_]"></a>
      <h4 class="signature">
      <span class="kind">def</span>
      <span class="symbol">
        <span class="name">getClass</span>
        
        <span class="params">()</span><span class="result">: java.lang.Class[_]</span>
      </span>
      </h4>
      <div class="fullcomment"><dl class="attributes block"> <dt>Attributes</dt><dd>final </dd><dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div>
    </li><li visbl="pub" name="scala.AnyRef#hashCode" data-isabs="false">
      <a id="hashCode():Int"></a>
      <h4 class="signature">
      <span class="kind">def</span>
      <span class="symbol">
        <span class="name">hashCode</span>
        
        <span class="params">()</span><span class="result">: <span name="scala.Int" class="extype">Int</span></span>
      </span>
      </h4>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div>
    </li><li visbl="pub" name="scala.Any#isInstanceOf" data-isabs="false">
      <a id="isInstanceOf[T0]:Boolean"></a>
      <h4 class="signature">
      <span class="kind">def</span>
      <span class="symbol">
        <span class="name">isInstanceOf</span>
        <span class="tparams">[<span name="T0">T0</span>]</span>
        <span class="result">: <span name="scala.Boolean" class="extype">Boolean</span></span>
      </span>
      </h4>
      <div class="fullcomment"><dl class="attributes block"> <dt>Attributes</dt><dd>final </dd><dt>Definition Classes</dt><dd>Any</dd></dl></div>
    </li><li visbl="pub" name="scala.AnyRef#ne" data-isabs="false">
      <a id="ne(AnyRef):Boolean"></a>
      <h4 class="signature">
      <span class="kind">def</span>
      <span class="symbol">
        <span class="name">ne</span>
        
        <span class="params">(<span name="arg0">arg0: AnyRef</span>)</span><span class="result">: <span name="scala.Boolean" class="extype">Boolean</span></span>
      </span>
      </h4>
      <div class="fullcomment"><dl class="attributes block"> <dt>Attributes</dt><dd>final </dd><dt>Definition Classes</dt><dd>AnyRef</dd></dl></div>
    </li><li visbl="pub" name="scala.AnyRef#notify" data-isabs="false">
      <a id="notify():Unit"></a>
      <h4 class="signature">
      <span class="kind">def</span>
      <span class="symbol">
        <span class="name">notify</span>
        
        <span class="params">()</span><span class="result">: <span name="scala.Unit" class="extype">Unit</span></span>
      </span>
      </h4>
      <div class="fullcomment"><dl class="attributes block"> <dt>Attributes</dt><dd>final </dd><dt>Definition Classes</dt><dd>AnyRef</dd></dl></div>
    </li><li visbl="pub" name="scala.AnyRef#notifyAll" data-isabs="false">
      <a id="notifyAll():Unit"></a>
      <h4 class="signature">
      <span class="kind">def</span>
      <span class="symbol">
        <span class="name">notifyAll</span>
        
        <span class="params">()</span><span class="result">: <span name="scala.Unit" class="extype">Unit</span></span>
      </span>
      </h4>
      <div class="fullcomment"><dl class="attributes block"> <dt>Attributes</dt><dd>final </dd><dt>Definition Classes</dt><dd>AnyRef</dd></dl></div>
    </li><li visbl="pub" name="scala.AnyRef#synchronized" data-isabs="false">
      <a id="synchronized[T0](⇒ T0):T0"></a>
      <h4 class="signature">
      <span class="kind">def</span>
      <span class="symbol">
        <span class="name">synchronized</span>
        <span class="tparams">[<span name="T0">T0</span>]</span>
        <span class="params">(<span name="arg0">arg0: ⇒ T0</span>)</span><span class="result">: T0</span>
      </span>
      </h4>
      <div class="fullcomment"><dl class="attributes block"> <dt>Attributes</dt><dd>final </dd><dt>Definition Classes</dt><dd>AnyRef</dd></dl></div>
    </li><li visbl="pub" name="scala.AnyRef#toString" data-isabs="false">
      <a id="toString():String"></a>
      <h4 class="signature">
      <span class="kind">def</span>
      <span class="symbol">
        <span class="name">toString</span>
        
        <span class="params">()</span><span class="result">: <span name="java.lang.String" class="extype">String</span></span>
      </span>
      </h4>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div>
    </li><li visbl="pub" name="scala.AnyRef#wait" data-isabs="false">
      <a id="wait():Unit"></a>
      <h4 class="signature">
      <span class="kind">def</span>
      <span class="symbol">
        <span class="name">wait</span>
        
        <span class="params">()</span><span class="result">: <span name="scala.Unit" class="extype">Unit</span></span>
      </span>
      </h4>
      <div class="fullcomment"><dl class="attributes block"> <dt>Attributes</dt><dd>final </dd><dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd>
                <span class="name">@throws</span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li visbl="pub" name="scala.AnyRef#wait" data-isabs="false">
      <a id="wait(Long,Int):Unit"></a>
      <h4 class="signature">
      <span class="kind">def</span>
      <span class="symbol">
        <span class="name">wait</span>
        
        <span class="params">(<span name="arg0">arg0: <span name="scala.Long" class="extype">Long</span></span>, <span name="arg1">arg1: <span name="scala.Int" class="extype">Int</span></span>)</span><span class="result">: <span name="scala.Unit" class="extype">Unit</span></span>
      </span>
      </h4>
      <div class="fullcomment"><dl class="attributes block"> <dt>Attributes</dt><dd>final </dd><dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd>
                <span class="name">@throws</span><span class="args">()</span>
              
        </dd></dl></div>
    </li><li visbl="pub" name="scala.AnyRef#wait" data-isabs="false">
      <a id="wait(Long):Unit"></a>
      <h4 class="signature">
      <span class="kind">def</span>
      <span class="symbol">
        <span class="name">wait</span>
        
        <span class="params">(<span name="arg0">arg0: <span name="scala.Long" class="extype">Long</span></span>)</span><span class="result">: <span name="scala.Unit" class="extype">Unit</span></span>
      </span>
      </h4>
      <div class="fullcomment"><dl class="attributes block"> <dt>Attributes</dt><dd>final </dd><dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd>
                <span class="name">@throws</span><span class="args">()</span>
              
        </dd></dl></div>
    </li></ol>
            </div>

        

        <div name="scala.AnyRef" class="parent">
              <h3>Inherited from AnyRef</h3>
            </div><div name="scala.Any" class="parent">
              <h3>Inherited from <span name="scala.Any" class="extype">Any</span></h3>
            </div>

      </div>

      <div id="tooltip"></div>

    </body>
      </html>